﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BPM.Entity;

namespace BPM
{
	public static class SysBarcodeCategories
	{
		public static BarcodeCategory User { get; internal set; }

		public static BarcodeCategory Role { get; internal set; }

		public static BarcodeCategory MaterialDefinition { get; internal set; }

		public static BarcodeCategory ProductAssemblyDefinition { get; internal set; }

		public static BarcodeCategory PurchaseOrder { get; internal set; }
	}

	public static class SysUsers
	{
		public static User Administrator { get; internal set; }
	}

	public static class SysRoles
	{
		/// <summary>
		/// 系统管理员
		/// </summary>
		public static Role Admin { get; internal set; }

		/// <summary>
		/// 总经理
		/// </summary>
		public static Role Manager { get; internal set; }

		/// <summary>
		/// 采购员
		/// </summary>
		public static Role Buyer { get; internal set; }

		/// <summary>
		/// 库管员
		/// </summary>
		public static Role StorageManager { get; internal set; }

		/// <summary>
		/// 供货商
		/// </summary>
		public static Role Supplier { get; internal set; }

		/// <summary>
		/// 物料员
		/// </summary>
		public static Role MaterialStaff { get; internal set; }

		/// <summary>
		/// 组装组长
		/// </summary>
		public static Role AssembleManager { get; internal set; }

		/// <summary>
		/// 组装员
		/// </summary>
		public static Role AssembleStaff { get; internal set; }

		public static Role[] GetAll()
		{
			return typeof(SysRoles).GetProperties().Select(p => p.GetValue(null, null) as Role).ToArray();
		}
	}
}